查看原文
其他

风控“规则集”的性能测试(Python实操)

东哥起飞 Python数据科学
2024-08-24

本篇更新策略篇的规则集性能测算及Python实操,内容选自《100天风控专家》第57期。

首先介绍规则集的完整分析流程,包括五个步骤。

一、规则集分析流程

1. 规则挖掘:有单变量规则、二维交叉规则多维决策树规则决策树规则可视化等常用的方法。

2. 规则评估:计算规则效果指标,如命中率、召回率、精准率等,筛选备选规则。

3. 规则集线下性能测试:将备选规则组成规则集,进行性能测试和评估

4. 规则集线上效果监控:按一定时间周期对规则集中的单一规则、组合规则的命中率稳定性监控。

5. 规则调优:根据监控指标和业务变化进行A类调优、和D类调优。

二、规则集线下性能测试

1. 综合命中率

综合命中率就是规则集作为整体的最终命中率,它是由内部规则共同作用后得到的一个综合结果。但是综合命中率一般不等于内部每个规则命中率之和,因为内部规则大概率是会有交叉命中情况的,也就是同时命中的情况,一般来说坏客户更容易触发多条规则,也就是同时命中多条。

2. 整体坏账率

整体坏账率也是针对规则集整体而言的,同样的内部单一规则的坏账率之和也不等于整体坏账率,计算逻辑为:

  • 根据单一规则命中统计规则集命中情况,任何一条命中即规则集命中;
  • 统计规则集命中客户中坏客户数的比例。

3. 相互覆盖率

相互覆盖率是对规则集内部规则覆盖情况的统计,如果一个规则的命中可以完全被其他规则覆盖,那么该规则在规则集中就没有存在的价值了。或者从是否有独立贡献(命中)的角度来考虑,也就是单一命中率,即规则独立命中的比例有多少。完全被覆盖与单一命中率为0是等价的。

三、案例分析Python代码实操

通过配置决策树参数以及入模变量数量,自动化生成规则100多条,通过规则评估指标如命中率、精准率、召回率、lift进行初步筛选,组成为规则集进行初步的性能测试。

然后通过相互覆盖率、单一命中率对内部规则进行二次筛选,得到最终的有效规则组合,最后再计算规则集的综合性能指标。

以下是通过相互覆盖率筛选内部规则的案例结果。相同颜色的规则是互相覆盖的,对于相互覆盖的规则如何进行取舍。


-end-
以上内容节选自👉《100天风控专家
从0到1的信贷风控训练营
继续滑动看下一个
Python数据科学
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存